import Vue from 'vue'
import App from './App.vue'
import router from './router'
// 引入mock
import Mock from 'mockjs';
import axios from 'axios'
Mock.url = 'http://127.0.0.1:8888/api/private/v1'
// 配置基准url
// 配置请求的基准URL地址
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1'
// 设置请求延迟时间
Mock.setup({
  timeout: 110
})
// 引入富文本编辑器
import VueQuillEditor from 'vue-quill-editor';
// 引入富文本编辑器样式
import 'quill/dist/quill.snow.css' // 富文本编辑器外部引用样式  三种样式三选一引入即可
import moment from 'moment';
// 引入elementui组件
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// 引入全局样式表
import './assets/css/global.css'
// 引入iconfont图标库
import './assets/fonts/iconfont.css'
// 引入表格树插件
import ZkTable from 'vue-table-with-tree-grid'
Vue.component('tree-table', ZkTable)
Vue.use(ElementUI)
Vue.use(VueQuillEditor)
Vue.prototype.Mock = Mock
// 设置请求的根路径
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'
// 挂载axios到vue原型
Vue.prototype.$http = axios
// 设置拦截器
// 请求在到达服务器之前，先会调用use中的这个回调函数来添加请求头信息
axios.interceptors.request.use(config => {
  // Do something before request is sent
  // 为请求头头对象，添加token验证的Authorization字段
  config.headers.Authorization = window.sessionStorage.getItem('token')
  return config
}, error => {
  // Do something with request error
  return Promise.reject(error)
})
Vue.config.productionTip = false
// 注册全局过滤器格式化时间
Vue.filter('dateFormat', function (val, format) {
  return moment(val).format(format)
})
process.env.NODE_ENV === 'development' ? require.context('./mock', true, /\.js$/).keys().map(require.context('./mock', true, /\.js$/)) : ''

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
